Ghosts are produced in a receiver usually because a signal arrives at the receiver through different transmission paths. For example, in a system having a single transmitter, the multipath transmission of a signal may occur because of signal reflection. That is, the receiver receives a transmitted signal and one or more reflections of the transmitted signal. As another example, the multipath transmission of a signal may occur in a system having plural transmitters that transmit the same signal to a receiver using the same carrier frequency. A network which supports this type of transmission is typically referred to as a single frequency network.
When a signal reaches a receiver through two or more different transmission paths, an interference pattern results. In the frequency domain, this interference pattern is manifested by a variable signal amplitude along the frequency axis. An interference pattern which results when the ghost is 100% is shown in FIG. 1. This interference pattern has amplitude nulls or near amplitude nulls at certain frequencies. Therefore, any information contained in the received main signal in the neighborhood of these frequencies is likely lost because the signal to noise ratio near these frequencies is below a usable threshold.
A variety of systems have been devised to deal with the problems caused by ghosts. For example, spread spectrum systems deal very adequately with the problem of a 100% ghost by spreading the transmitted data over a substantial bandwidth. Accordingly, even though a 100% ghost means that some information may be lost in the neighborhood of frequencies corresponding to the amplitude nulls, a data element can still be recovered because of the high probability that it was spread over frequencies which do not correspond to the amplitude nulls. Unfortunately, the data rate R associated with spread spectrum systems is typically too low for many applications. (The data rate R is defined as the number of data bits per Hertz of channel bandwidth.)
It is also known to use a matched filter in a receiver in order to deal with the problem of a ghost. In this approach, data is transmitted as a data vector. The matched filter correlates the received data with reference vectors corresponding to the possible data vectors that can be transmitted. Correlation of the received main signal to the reference vector corresponding to the transmitted data vector produces a large peak, and correlation of the received main signal to the other possible reference vectors produces small peaks. Accordingly, the transmitted data vector can be easily determined in the receiver. Unfortunately, the data rate R typically associated with the use of matched filters is still too low for many applications.
When high data rates are required, equalizers are often used in a receiver in order to reduce ghosts of a main signal. A classic example of a time domain equalizer is an FIR filter. An FIR filter convolves its response h(t), shown generally in FIG. 2, with a received signal. The received signal contains the main signal and the ghost of the main signal. The FIR filter produces an output having a large peak representative of the main signal. Ghosts of the main signal have small components in the output of the FIR filter. However, as shown in FIG. 2, the values a1, a2 a3, . . . of the taps of an FIR filter depend on the value of a and, in order to perfectly cancel a 100% ghost using an FIR filter, the value a of the FIR filter response must approach 1. As the value a approaches 1, the values of the taps of the FIR filter do not asymptotically decrease toward zero. Therefore, the FIR filter becomes infinitely long if a 100% ghost is to be eliminated, making the FIR filter impractical to eliminate a 100% ghost.
An example of a frequency domain equalizer 10 is shown in FIG. 3. The frequency domain equalizer 10 includes a Fast Fourier Transform (FFT) module 12 which performs a Fast Fourier Transform on the received signal in order to transform the received signal to the frequency domain. A multiplier 14 multiplies the frequency domain output of the FFT module 12 by a compensation vector which includes a row of coefficients Ai. An inverse FFT module 16 performs an inverse FFT on the multiplication results from the multiplier 14 in order to transform the multiplication results to the time domain.
FIG. 4 illustrates an exemplary set of coefficients Ai which may be used by the frequency domain equalizer 10. The coefficients Ai are chosen so that, when they and the FFT of the received signal are multiplied by the multiplier 14, the coefficients Ai cancel the ghost in the received signal leaving only the main signal. It should be noted that the coefficients Ai should have infinite amplitudes at the frequencies where the interference pattern has a zero amplitude. However, the coefficients Ai cannot be made infinite as a practical matter. Accordingly, the coefficients Ai are cut off at these frequencies, which means that information in the received main signal is lost at the cut off frequencies so that the output of the inverse FFT module 16 becomes only an approximation of the transmitted data.
Moreover, it is known to use empty guard intervals between the vectors employed in the frequency domain equalizer 10 of FIG. 3. The guard intervals are shown in FIG. 5 and are provided so that received vectors and ghosts of the received vectors do not overlap because such an overlap could otherwise cause intersymbol interference. Thus, the guard intervals should be at least as long as the expected ghosts. It is also known to use cyclic extensions of the vectors in order to give the received main signal an appearance of periodicity. Accordingly, a Fast Fourier Transform of the received signal and a Fourier Transform of the received signal appear identical.
The invention disclosed in U.S. Pat. No. 6,442,221 is directed to an equalizer which overcomes one or more of the above noted problems. According to this invention, a vector domain equalizer 20 as shown in FIG. 6 relies on vectors to distribute the transmitted data in both time and frequency so that the vectors are essentially random in the time and frequency domains. Accordingly, in a heavily ghosted channel, all data can be recovered with small noise enhancement, an any enhanced noise that does exist is near white.
The vector domain equalizer 20 includes an inverse vector domain transform 22 and a vector domain transform 24 which are separated by a channel 26. Accordingly, the inverse vector domain transform 22 may be part of a transmitter, and the vector domain transform 24 may be part of a receiver. The inverse vector domain transform 22 performs a matrix multiplication between an input data block and a transform matrix. The input data block may include any number of data elements arranged in a row. These data elements may be bits, symbols, or any other suitable data entities. The transform matrix comprises a plurality of vectors arranged in columns, and each vector of the transform matrix preferably has a length commensurate with the number of data elements of the input data block. Also, the number of vectors of the transform matrix should preferably be commensurate with the number of data elements in the input data block. Accordingly, if there 256 data elements in the input data block, the transform matrix should preferably have 256 vectors each having 256 elements. The output of the inverse vector domain transform 22 is an output data block having a number of data elements commensurate with the number of data elements of the input data block. Thus, if there are 256 data elements in the input data block 32, the output data block has 256 data elements.
The vector domain transform 24 performs a matrix multiplication between the received main signal and a plurality of receiver vectors VR. The data transmitted through the channel 26 is received, for example, as a row vector. During matrix multiplication, the vector domain transform 24 multiplies each component of the received row vector by a corresponding component in a first column of the receiver vectors VR, and sums the multiplication results to produce a first component r1 of a vector ri at the output of the vector domain transform 24. The vector domain transform 24 next multiplies each component of the received row vector by a corresponding component in a second column of the receiver vectors VR, and sums the multiplication results to produce a second component r2 of the output vector ri, and so.
Assuming no channel distortion such as may be caused by channel interference, and assuming that the vector domain transform 24 uses the same vectors as are used by the inverse vector domain transform 22, the matrix multiplication performed by the vector domain transform 24 produces the original input data block. However, if channel distortion exists, the actual output data block produced by the vector domain transform 24 will not be equal to the original input data block. Accordingly, a training session is invoked where the vectors of the vector domain transform 24 are adjusted according to channel distortion such that, in the presence of channel distortion, the data of the original input data block is recovered.
The invention of U.S. Pat. No. 6,442,221 works quite well. However, the present invention produces similar results but with fewer calculations.